﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Winservice.demo.Queue
{
    public class QueueTask
    {
        /// <summary>
        /// 按钮类型（-1：无提交；1：申请提交；2：审批同意提交；3：审批退回上一步提交；4：退回发起人提交；5：终止流程提交（everyone）；）
        /// </summary>
        public int BUTTON_TYPE { get; set; } = -1;

        /// <summary>
        /// 必填字段：任务审批ID
        /// </summary>
        public long FLOW_TASK_ID { get; set; } = 0;

        /// <summary>
        /// 必填字段：流程实例ID
        /// </summary>
        public long FLOW_INCIDENT_ID { get; set; } = 0;

        /// <summary>
        /// 必填字段：流程名称
        /// </summary>
        public string PROCESS_NAME { get; set; } = string.Empty;

        /// <summary>
        /// 必填字段：流程实例号
        /// </summary>
        public string INCIDENT { get; set; } = "0";

        /// <summary>
        /// *获取或者设置摘要(缺省值:string.Empty)
        /// </summary>
        public string SUMMARY { get; set; } = string.Empty;

        /// <summary>
        /// 必填字段：任务ID
        /// </summary>
        public string TASK_ID { get; set; }

        /// <summary>
        /// 必填字段：任务名称
        /// </summary>
        public string STEP_LABEL { get; set; }

        /// <summary>
        /// 必填字段：操作人员（UserID：1）
        /// </summary>
        public string OPERATOR_ID { get; set; }

        /// <summary>
        /// 必填字段：操作人员（UserGUID：xxxxxx）
        /// </summary>
        public string OPERATOR_GUID { get; set; }

        /// <summary>
        /// 必填字段：操作人员（账号：liyu）
        /// </summary>
        public string OPERATOR_ACCOUNT { get; set; }

        ///// <summary>
        ///// 变量集合
        ///// </summary>
        //public List<Variable> VariableList { get; set; }

        /// <summary>
        /// 变量（a1.NAME + ':' + a1.VAL + ':' + a1.VARIABLE_TYPE + ':' + a1.SORT + '|'）
        /// </summary>
        public string VARIABLES { get; set; }

        /// <summary>
        /// 是否是办结节点（0：是办结；1：不是办结；）
        /// </summary>
        public int IS_END_STEP { get; set; }

        ///// <summary>
        ///// 会签节点
        ///// </summary>
        //public string SIGN_KEY { get; set; }

        /// <summary>
        /// FLOW_TASK 的 当前节点（如果是会签节点，就是会签节点）
        /// </summary>
        public string CURRENT_STEP_KEY { get; set; }

        /// <summary>
        /// 会签设置的人数
        /// </summary>
        public int FIRST_SIGN_COUNT { get; set; }

        /// <summary>
        /// 会签任务（a1.TASK_ID + ':' + CONVERT(VARCHAR(10), a1.TASK_STATUS) + ':' + CONVERT(VARCHAR(10), a1.OPINION) + '|'）
        /// </summary>
        public string SIGN_TASKS { get; set; }

        /// <summary>
        /// 审批意见（-1：无审批；0：同意；1：拒绝；）
        /// </summary>
        public int OPINION { get; set; }

        /// <summary>
        ///  会签逻辑类型（0：同意一次就到下一节点，拒绝都得审批；1：拒绝一次就到下一节点，同意都得审批；2：都得审批完成才到下一节点；)
        /// </summary>
        public int SIGN_TYPE { get; set; }

        /// <summary>
        /// 引擎类型（0：ULTIMUS；1：A5；）
        /// </summary>
        public int FLOW_TYPE { get; set; }

        /// <summary>
        /// PROCESS_DEFINITION_ID
        /// </summary>
        public string PROCESS_DEFINITION_ID { get; set; }

        /// <summary>
        /// BUSINESS_KEY
        /// </summary>
        public string BUSINESS_KEY { get; set; }

    }
}
